package com.travel.common.base;

import org.springframework.stereotype.Component;

import com.travel.common.constants.Constants;

/**
 * @classDesc: 功能描述:()
 * @author:<a href="leeue@foxmail.com">李月</a>
 * @Version:v1.0
 * @createTime:2019年2月24日 下午5:41:30
 */
@Component
public class BaseApiService {

	/**
	 * 通用封装
	 * 
	 * @param code
	 * @param msg
	 * @param data
	 * @return
	 */
	public Resp setResult(Integer code, String msg, Object data) {

		return new Resp(code, msg, data);
	}

	/**
	 * 只返回结果是成功的,没有data值
	 * 
	 * @return
	 */
	public Resp setResultSuccess() {
		return setResult(Constants.HTTP_RES_CODE_200, Constants.HTTP_RES_CODE_200_VALUE, null);
	}

	/**
	 * 只返回结果是成功的,可以传data值
	 * 
	 * @return
	 */
	public Resp setResultSuccess(Object data) {
		return setResult(Constants.HTTP_RES_CODE_200, Constants.HTTP_RES_CODE_200_VALUE, data);
	}

	/**
	 * 只返回结果错误,要传msg值
	 * 
	 * @return
	 */
	public Resp setResultError(String msg) {
		return setResult(Constants.HTTP_RES_CODE_500, msg, null);
	}

	/**
	 * 只返回结果错误,要传msg值
	 * 
	 * @return
	 */
	public Resp setResultSuccess(String msg) {
		return setResult(Constants.HTTP_RES_CODE_200, msg, null);
	}

	/**
	 * 可以传code 和 msg
	 */

	public Resp setResultError(Integer code, String msg) {

		return setResult(code, msg, null);
	}

	/**
	 * 可以传msg和data
	 * @param msg
	 * @param data
	 * @return
	 */
	public Resp setResultSuccess(String msg, Object data) {
		return setResult(200, msg, data);
	}

}
